In [10]:
from crysfipy.reion import re, neutronint, susceptibility as susc
import crysfipy.const as C
import numpy as np
np.set_printoptions(linewidth=130)
np.set_printoptions(precision=2)
1) const.py¶
In [13]:
template = """Information about {0.name} ion:
*************************
{0.J2p1:.0f} energy levels, J = {0.J}, gJ = {0.gJ}
alpha = {0.Alpha}, beta = {0.Beta}, gamma = {0.Gamma}
"""
print(template.format(C.ion("Ce")))
Information about ce ion:
*************************
6 energy levels, J = 2.5, gJ = 0.857142857143
alpha = -0.0571428571429, beta = 0.00634920634921, gamma = 0.0
2) CF hamiltonian diagonalization¶
In [16]:
# create reion object:
ce = re("Ce", [1,0,0],
["t", -0.173477508,
0.001084591,
-0.012701252,
-3.34835E-06,
0.0000097,
])
ce.calculate()
ce.getlevels()
print(ce)
Energy levels:
E(0) = 0.0000 1fold-degenerated
E(1) = 0.4180 1fold-degenerated
E(2) = 2.0374 1fold-degenerated
E(3) = 2.0787 1fold-degenerated
E(4) = 3.5225 1fold-degenerated
E(5) = 4.7905 1fold-degenerated
3) Calculation of susceptibility¶
In [17]:
temps = [5,10,50,100,300]
for T in temps:
print("T = {0} K \tchi_CF = {1} uB/T".format(T, susc(ce, T)))
T = 5 K chi_CF = 0.0288552475141 uB/T
T = 10 K chi_CF = 0.00716223624106 uB/T
T = 50 K chi_CF = 0.000224584463989 uB/T
T = 100 K chi_CF = 3.65918038894e-05 uB/T
T = 300 K chi_CF = -4.60660668533e-06 uB/T
4) Neutron intensities¶
In [20]:
# tbd